Let's begin this discussion with the simpler oxalic acid.  

     O
     #
HO-C-C-OH
   #
   O


There are two carboxylic acid functional groups, and there are two different pKa's.  This is because double deprotonation does not happen simulateneously.  One gets deprotonated first, then the other.  After the first deprotonation, the residual molecule has a negative charge.  The result:

     O
     #
HO-C-C-O~
   #
   O


Is much less acidic because the presences of the carboxylate functional group changes the acidity.

Let's continue the discussion with the (still simpler) alpha-chlorosuccinic acid:

    Cl H O
     | | #
HO-C-C-C-C-OH
   # | |
   O H H


The acid closer to the chlorine is more acidic because the chlorine is strongly electron withdrawing, and 'pulls' the electrons out of the carboxylate function, which then 'pulls' electrons away from the hydrogen, making it more acidic.  This effect decreases with distance, so the chlorine pulls on the acid function farther away less strongly.

In a more generalized way, remote groups will modify acidity because of electron withdrawing or donating effects, but the farther away from the acid function, the less effect there is.

For citric acid, there are actually two different flavors of acid function, so one of the kinds will be intrinsically more acidic before deprotonation because of the remove effect.  However, because of the sequential deprotonation discussed above, all three will have different pKa's

How can pKas differ across similar protons of the same atom?
Why in every textbook when deriving Dirac's equation the smallest possible matrices ($2 \times 2$) are used?
I wonder why one couldn't use spin 1 matrices ($3 \times 3$) and get relativistic equation for spin 1 particle?
