There are several ways to wake up the processor, such as:
NMI, External Interrupts EINT0 through EINT3, GPIO interrupts, the Ethernet WOL interrupt, BOD, RTC Alarm interrupt, a WD Timer timeout, a USB input pin transition, a CAN input pin transition, as long as the related interrupt is enabled.
A UART may be used to wake the device from sleep mode but not from deep sleep mode and power-down mode. The UART can be running in sleep mode and when it receives a signal, it can generate an interrupt and wake the processor up.
In sleep mode, any enabled interrupt can wake the device up.