Did you check the ETags?
Note that with Apache the ETag is calculated from the number of the inode, the filesize and the last-modified time of the resource. This can lead to the same resource being fetched multiple times when it is served by multiple webservers (load balancing). That is because the same resource will have different inode-numbers on different filesystems. You can fix that by telling Apache to calculate the ETag from the size and last-modified time of the resource, only:
Reference: Apache 2.2 - FileETagCode:FileETag MTime Size