Flash Memory on an ASIC
A ROM which is constructed on a monolithic device would be an integrated circuit.  A ROM which is constructed using discrete decoders, multiplexers, and diode matrices (such things existed long before integrated circuits were ever constructed) would not be.

It is extremely common to embed ROM within an ASIC; it is somewhat less common to embed flash memory.  Flash memory is very useful in things like microcontrollers, since it allows a single kind of stock microcontroller part to be sold to many different customers for many different applications.  Many ASICs are made for sale to a particular customer for particular requirements, and in many cases that customer will know what is required.  Consequently, it is far more common for an ASIC to be paired with a "masked" ROM whose contents are permanently established when the chip is manufactured.  If a device isn't going to be upgradable after it is sold, the only advantage of a flash device over a masked ROM would be the ability of the manufacturer to make firmware revisions between the time a chip is manufactured and the time the containing device is sold.  In many cases, it will be more cost-effective for the manufacturer to invest extra time and effort making sure the final firmware is ready before the device is built than to spend the extra manufacturing costs of making the chip upgradable after the fact.