I can't tell you exactly why, but the sentence is correct.
The word מספיק is not a regular adverb, because otherwise it should be conjugated to suit מים which is plural. So an equivalent to this sentence would be: יש לכם מים מספקים? as in "sufficient water". It's a little awkward to me as a native speaker, but it can be said.
Maybe other people can explain more why מספיק comes before מים?
Because adverbs come before a noun. This is an adverb, which is why it does not change its form and is placed before the noun.
But I did find להספיק, which would be translated as "to suffice", and was wondering; would a sentence like this work? המים האלה מספיקים? Does this water suffice? Or maybe: רק קצת מים מספיקים. Only a little water suffices.