The outer shell electrons in the central oxygen are not completely evenly distributed. There's 4 'pairs', two of which are entirely the oxygens while the other two pairs the oxygen has to share with the two hydrogens it's bonded to (at least the model is kinda like that).
As such there's a slight redistributing of the charges around the oxygen with the two unbounded pairs being a bit higher in electron charge density than the areas where the hydrogens connect to the oxygen. Hence the bonds are pushed together ever so slightly by this extra concentration of negative charge and you get a decrease in the bond angle of the hydrogens compared to say methane which is an evenly distributed tetrahedron of electrons.
I know that's very much 'high school chemistry' take on the electron arrangements etc but I doubt the answer requires a more 'quantum' approach than that.