That baby on the boys lap (I know it's one of Christina's kids, forgot his name) is photo shopped.
That whole picture seems photoshopped to me.
As I am guessing Sofia is holding Felipe's oldest daughter Leonor, the baby will probably be Irene.
Leonor and Irene are both born in 2005, but Irene is about 4 months older than Leo. Based on the height, the boy supposedly holding Irene is the tallest of Christina's 3 boys, so it would be Juan (b 1999)
With next to him his younger brothers Pablo (b 2000) and Miguel (b 2002)