To be sure, you need to:
* Check the specific model of both trucks: A 1500, 2500, or 3500 Silverado will have different bed sizes. The cab style (regular, extended, crew) also matters.
* Compare the bed measurements: Find the exact bed length of both the 2004 and 2007 trucks. This information is usually found in the owner's manual or online.
* Check the cap's manufacturer's specifications: The manufacturer of the 2004 cap might have information on which truck models it's compatible with.
Without verifying these details, assuming compatibility is risky. A poorly fitting cap can lead to leaks, poor security, and even damage to the truck.