Oh yes, of course, that is correct as well. Only if you want to say "to be delayed" without any qualification then "Verspätung haben" is a set phrase where you wouldn't insert an article even though it would make sense.
In "Mein Zug hatte eine Verspätung von zehn Minuten" you mention a concrete delay, therefore it can have an indefinite article. In "Mein Zug hatte Verspätung", "Verspätung", delay, is an abstractum, much like "Lust" in "Ich habe Lust".