Confusion with PIC32MX1XX/2xx datasheet information (clock source for USB)
From your quote of the datasheet:


  For normal operation, the USB module requires exact 48 MHz clock


and


  Once USB module is out of Suspend mode, it must use a 48 MHz clock to perform the USB transactions


Those pretty much say it all. You cannot use the internal 8MHz clock to perform USB transactions. The USB core built in to the PIC requires a 48MHz clock in order to function as a USB slave. 

The USB link runs at a fixed speed - both the host and slave must run from clocks of roughly the same speed in order to function, regardless of whether your throughput is using the full capabilities of the link. So just because you are using CDC which doesn't require a lot of throughput, you still need your slave to run at a similar frequency to the host.

You must use an external crystal in order for the device to operate as a USB slave.