We can't give a true answer unless we have a budget otherwise we could just recommend the best of anything for a price possibly double your budget since your CPU and PSU won't limit us at all for a single card.
You need to think about getting an ATI card because they dont have Physx which is REALLY important in todays games and the future ones, and also that more games are optimized and work better on nvidia cards. The fact that you can save 100$ if you get a 7870 for 100$ less is not really that stunning, think LONG TERM and get nvidia. + Nvidia drivers are better than ati's
Okay all this person is a NVidia fan boy. He honestly doesn't have all clue what he's talking about. Not all that many games are optimized for NVidia and theirs just as many others optimized for AMD (it's AMD now they bought it out a few years back no, so get with it). As for AMD drives I'd say their updated as often (if not more) and both drivers are about on par with each other. As for Physx yes, AMD doesn't have that but theirs not a need for it and their won't be in the future. Games can function fine without it and always have. If you want to got buy a card just so you can run physx off of it then go waste your money (you have to have a dedicated card for it thus lowering practicality).
Did you maybe see what physx does in, for example, batman arkham city, or borderlands 2, the game looks WAY more awesome and realistic, not to mention blood fluid simulation. Ati can fix your problems on the short run but i would get nvidia for the long run. Most upcoming games will feature physx. + With a 670 you will max out ANY game with no problem at all for the next few years, anything faster than it and you are either - rich, not familiar with hardware at all, retarded or simply cant stand getting 70fps on ultra in BF3 when you can give 200$ more to have 80fps... Anything faster than a 670 is an overkill. Even my 560 maxes out all games except bf3 and metro...