Let me go into a little more detail than Panda's (excellent) answer.
In the past, presidents have fired special prosecutors/counsels for various reasons; the laws governing the special counsel explain some of the reasons that Attorney General could do so (§ 600.7), and these were presumably also possible reasons for a president. However, this presidential ability was changed in 1999, two decades after Nixon's Saturday Night Massacre, a mass firing which has already been suggested as a precursor to some of Trump's actions.
According to those regulations, only the Attorney General or Acting Attorney General can fire the special counsel (§ 600.7 (d)), emphasis mine:
The Special Counsel may be disciplined or removed from office only by the personal action of the Attorney General. The Attorney General may remove a Special Counsel for misconduct, dereliction of duty, incapacity, conflict of interest, or for other good cause, including violation of Departmental policies. The Attorney General shall inform the Special Counsel in writing of the specific reason for his or her removal.
The Attorney General, Jeff Sessions, has recused himself from relevant matters, so things now fall to Deputy Attorney General Rod Rosenstein, who is the Acting Attorney General with regards the Russian investigation1. Rosenstein himself - not a subordinate, not a superior (unless Sessions undoes his recusal somehow) - must make the decision. While he is in office, he is the sole human being with this power.
Clearly, Rosenstein is the one person who could fire the special counsel, Robert Mueller. However, Trump could attempt to indirectly fire Mueller. Nixon ordered his Attorney General to fire the special prosecutor, and Trump could theoretically give similar orders to Deputy Attorney General Rod Rosenstein . . . which Rosenstein likely would not follow. Therefore, Trump has another option: firing Rosenstein and getting another Deputy Attorney General who would fire Mueller. If Trump fires Rosenstein, then orders could move down the chain of command in the Justice Department - established via an executive order of Trump's.
The Washington Post wrote a detailed article explaining that Trump basically has two options:
- Doing the above, i.e. firing those who do not take action, or
- Hoping that Congress will not enforce the ethics regulations. It's unclear whether or not he would be successful; I don't know whether Republicans would be willing to go against their own president, but at the same time, it would severely hurt them in the public eye if they did not. I also don't know what the precedents or mechanisms for enforcing those regulations are.
All of this, by the way, would involve intense public backlash. Trump is still under criticism for his firing of former FBI Director James Comey, and another set of firings would not improve his credibility . . . and draw more Watergate comparisons.
Here's a graphic from that Washington Post article:
To answer the question directly: Only the Attorney General or Acting Attorney General can personally fire the special counsel. However, Trump can either ignore the laws or fire those who will not do as he wants.
1 Questions from the Senate Judiciary Committee confirm that Rosenstein is the Acting Attorney General for the Russian investigation after the recusal by Sessions.