GPS works fine on Arduino Uno, but doesn't work on MEGA 2560

Try a different Rx then, say Rx1.
Perhaps the ATMega8U2 or 16U2 is setup a little differently between the Uno and the Mega.

Serial1.begin()

Serial1.read(), etc.