The GPS system uses WGS84
internally. WGS84 is an ellipsoid earth model. The GPS height with respect to that ellipsoid is called Height Above Ellipse (HAE). Unfortunately the Mean Sea Level does not coincide with this ellipsoid. In fact there are quite a few bumps and dents in the sea caused by local deviations in Earth's gravity field. The difference between mean sea level and WGS84 is modeled by another model : EGM96
. When this model is available, it is easy to transform the HAE in height above MSL. I am not sure whether this is done in the Airbus, but I would expect so.
Now if you are on the ground, and your altimeter setting is local (QNH) of course your altimeter should read the local elevation, and so should your GPS if it's using the EGM96.
However, in the air it's a different story. Your altimeter derives altitude from ambient pressure using formula's from the ICAO Standard Atmosphere. When the atmosphere is different from the standard, and it usually is, then the altitude shown by your altimeter is different from the GPS height above MSL.
For example, on a hot day air expands, and so the "barometric foot" is longer than the "GPS foot", in other words on a hot day the GPS will read a higher number than your QNH tuned altimeter.
I hope this explains the different readings.