It's mandatory in many languages (German, English, French and others) to have a subject in a sentence. That's no problem if there's a subject in the sentence's meaning:
The dog sleeps / Der Hund schläft
It sleeps / Er schläft
But what about cases where there is no subject in the meaning? In such cases, you need something like a "filler subject":
It rains / Es regnet (what's the "it" exactly? ;) )
It is necessary to study for the exam / Es ist notwendig, für die Prüfung zu lernen
Such "filler words" can be about any word that is "coerced" by the grammatical structure without having meaning in the sentence, not just pronouns. They are called "Expletivum" or "syntactic expletive".
In your example, as @Eller mentioned in the comments to the question, the syntactic expletive is necessary to ensure the proper word order of subject - predicate. You could rewrite the sentence as
... denn auf dem Einkaufszettel fehlen genaue Angaben
... denn die genauen Angaben fehlen auf dem Einkaufszettel
But these versions would imply that it's more or less clear which specifications exactly are missing. As I understand the example, Otto would be grateful for about any further information ;)
So because the the specifications are not really specified, you don't use them as a subject, and you need a syntactic expletive. You might say, the author would have had a "real" subject, but decided not to use it to give the sentence a specific emphasis.
The difference between
Genaue Angaben fehlen
Es fehlen genaue Angaben
could be compared with the difference between
Further specifications are missing
There are further specifications missing
The predicate is plural because the "real" subject, which the author decided to deemphasize, is plural: "Die Angaben sind...", "The specifications are..."