Neither. Waterfall is best, just for the accuracy. If you don't have the HM yet, Aqua Tail. And if you don't have anything else that can learn Surf in game and you need it to get places, I would replace Thunder with Surf.
Gyarados has a much higher attack than sp. atk, so a physical move would do better. Unless this is Gen III and before, where all Water moves were special.