Again, each page you request has a lot of different sources. The main document and static sources like images, JS, CSS and so on. The headers for main document are different as headers of static sources, but I think you mean headers of the main document, right?
If a page uses a page cache like LiteSpeed LScache or the cache plugin then the data are not sent my PHP or WordPress. They are sent directly from the web server or the LScache cache engine. That is the reason why a cached page is much more faster. The last modified header is sent by PHP or WordPress, but as said the data are no longer send by WordPress/PHP if a URL is cached. Instead of last modified header LiteSpeed uses etag header. This kind of special header is similiar to the last modified header, but is not the same. This etag header is sent together with status code 304 if a URL is already requested before and prevents re-downloading the data again. In short, a last modified header is useless if a page cache is used, so you don’t need the last modified header.