After having done some research, I come to the conclusion that the discrepancy is caused by
- iTunes counting the space required for apps and data, deducing the free storage from the total
- the iPhone reporting the actually free space
The difference is that the iPhone obviously used additional space for caching purposes, but that space is not recognized by iTunes (maybe on purpose). The space can be regained by one of the measurements mentioned in the other answers (backup/restore etc.), because these delete the cache data.
However, the iPhone will start building up new caches, so these solutions are not lasting. Also, if you free the cache, then use the freed space to copy more apps and data to the device, your iPhone will eventually not be able to use as much cache as it actually would, possibly leading to lower over-all performance.
As a consequence, I would not recommend to force your iPhone to free the cache space unless absolutely necessary.