Just tested in the English channel.
Started an invasion as Germany with 4 Tanks and 6 Infantry and short after start, I put the full Royal Navy on Convoy Raiding.
Result:
2 Tanks were killed on sea, 1 landed with 20% strength, 1 with 34%. With that low strenght the tanks have not enough armor and get pierced by the englih infantry. -> They are useless.
Infantry was a bit better: 1 killed on sea, 5 made it 3 with full strength, 1 with 30%, 1 with 10%
It's only a path of 3 sea tiles and the full german navy came to support the invasion but it failed because of the Royal Navy.
So I think the answer is:
Yes, a navy can stop a naval invasion. Maybe not "stop" it completely meaning no one reaches the beach, but weaken it so much that it is doomed to fail.