AFAIK GPS can give error too under too many circumstance like weather, bumpy road and tunnels etc. My experience is we were constantly checking the GPS on our recent road trip to Baluchistan. The GPS speed was always well below the car's. Though, the vehicle was Toyota's latest Hiace.
Besides, changing tyres/ meters/ or any other related part could vary the reading on speedo. You should do such test on stock conditions.