As far as I remember, construction and use regulations mean that the speedometer can read fast (10% + 2mph maximum I think) but it is not allowed to under read at all. Manufacturers will tend to set the speedo somewhere in between so they don't fall foul of the law, and also the customer thinks his car is faster than it actually is (I seem to remember reading that the early MX-5s were bang on the limit for exactly that reason).
A satnav is generally very accurate on straight and level roads over a distance - round corners it's plotting a series of straight lines so there's a slight additional error, and the position accuracy is to around 10metres, to over a longer run, the overall effect of this accuracy is reduced. My old marine GPS was guaranteed accurate to 0.1mph and I used this to check my juke, which was about 3mph out at 70mph.
However, the Juke does know the correct speed as I also plugged in a blutooth dongle into the Canbus socket and checked the speed against GPS, and they were the same - which shows that Nissan do build in a deliberate margin of error.