Federal Motor Vehicle Safety Standards allow some small error, and there will always be a chance of error with variation in tire diameter from brand to brand (even in the same nominal size) and changes with wear. The standards do not allow the speedometer to read slow enough for you to notice, so it will normally be calibrated to read slightly fast at some speeds.
My last truck read 3-5 mph fast at slow speeds, caught up with the GPS at about 65-70. My current truck (E-350) reads about 3 mph fast a slow speeds, 1-2 mph fast at 70 mph.