How to interface Si8902 with ATmega128rfa1?
my question is at what instance the clock is generated? -master generate clock but when? - when you write some thing on MOSI.


Yes, the clock must be generated by the SPI Master (this is done automatically if you use the SPI module of your ATmega128) when data is written to the SPI Slave. See below about reading from the SPI Slave  


  Okay What happens during read,


The typical approach with the SPI modules in many MCUs, is for the SPI Master to be used to send dummy data (and therefore generate the SPI clock signal) in order to receive data from the SPI Slave.

If you were "bit-banging" the SPI bus at the SPI Master, then you could just toggle the SPI clock signal the required number of times, in order for the SPI Slave to send you data on the MISO line (i.e. to read from the SPI Slave).


  How will master know that it should generate clock after 8 us


The SPI Master does not automatically "know" that it needs to generate the clock no sooner than 8uS after it has sent the Si8902 Command Byte. This level of detail varies between different SPI Slaves and cannot be automatically "known" by an SPI Master.

However you know this timing requirement (after reading the Si8902 datasheet) so therefore you need to include that delay in the program which you write on the SPI Master device (as @Asmyldof mentioned in an earlier comment).