It's really asking (quite literally) "is there ship on the water?" without reference to number; i.e. the question is not anticipating an answer to be singular or plural in the way that is there a ship or are there ships does in English.
If the question said Van a vízen egy hajó?, this is closer to "is there a ship on the water" but now the question is kind of prejudging that there's probably either 0 or 1 ships on the water.
I should preface this with the standard disclaimer of non-native speaker. But I think the ambiguity comes from English.
For Hungarian, if the number isn't important, it's really quite frequent to drop egy. It's only asking existence. Does the surface of the water have ship-ness or not?
The meaning in English, however, is rather vague. Is there a ship on the water?/are there ships on the water do each carry this implied singularness/pluralness, at least grammatically.
But both is there/are there can mean is there at least one ship on the water? I think that's where the plural in English comes from. Like, before a hurricane, someone on land might say Are there ships on the water? If so they should come to port; without literally meaning multiple ships, but rather in this "at least one" sense.
Whereas in Hungarian that person would just say Van a vízen hajó? and it's to be taken literally. Van a vízen hajók? Only if there are multiple ships.
That would be "VANNAK a vízen hajók?" - matching the predicate and the subject in number.
Otherwise, may I suggest thinking of all cases like this as if the noun were uncountable?
Is there bread/water/butter/flour/etc. at home?
Is there fish in the water?
Is there ship on the water?