Bitcoin isn't anonymous, and if the NSA has infiltrated the various Bitcoin whitewashers (er, "exchanges") it also has your incoming transaction history, to boot.
If you control both the tor entrance and exit nodes, you can unmask the user. Statistically, controlling 300 nodes (~1% of the network) should be enough to unmask a large number of users. It is not hard to spin up a whole bunch of servers to the mix, and I would find it very hard to believe that the NSA/similar does not already control a substantial portion of the network.