Fog can be a reason but why only between Gwalior & Agra ? Trains were getting delayed while coming from Gwalior to Agra since last few days and trains going from Agra to gwalior were NOT affected. So apart from fog there must be some technical problem as well.
Today is a different matter (As trains are getting delayed between NDLS-MTJ due to fog) but i am talking about last 5-6 days movement of train from Gwalior & Agra. You can check last few days data of some trains to see the delay happening.