A cache miss happens when data isn't found in the cache, prompting a database retrieval. TTL (Time-to-Live) caches help manage this by expiring data after a set time.