ATMEL AVR ATmega168P 8 mhz
For microcontrollers in general the speed rating is the maximum recommended clock rate for operation. So a 20 MHz device like you've found can operate at a lower rate such as 8 MHz. The ATmega168P has an internal 8 MHz RC (resistor / capacitor) clock which while not especially accurate saves having to use external components for a clock.

That's no doubt what that circuit uses because a crystal or external clock would need to be connected to pins PB6 / PB7 which are used for other purposes in that circuit. The RC clock is enabled by default so go ahead with a 20 MHz device and you should be fine. 

By default there's something called a CKDIV8 fuse setting that may cause it to run at 1 MHz, so depending on the code / programmer you may need to change that if it seems to run eight times slower than you're expecting but that should be a simple configuration change, so I'd buy the part and see how it goes for a start but keep in mind you might need to work out how to change that CKDIV8 fuse if it runs too slowly.