As far as I'm aware, the Nvidia chips are better at raw processing than AMD chips, so if you're not looking to upgrade the CPU, an Nvidia chip would be the best option. In my opinion the best value chip is the GTX960, but the GTX970 will blow it out the water in terms of raw performance, so that'd probably be my choice... you'll also have the ability to touch on 4K gaming (not at ultra though) with the 970 as it's more capable!
If I'm honest, the memory configuration of the GTX970 isn't too much of a problem. the performance decrease when using the last 500MB of memory isn't as large as some make out, and even if a game says it's "using" 4GB, in most cases the memory is only reserved and not being used anyway, only in occasional scenarios.
And yes, your power supply is more than capable, the GTX970 needs 28A on the 12V rail (probably 30A to give you some headroom), and your PSU supplies 46A which is plenty!