Do mining pools eliminate the need to store blockchain? Suppose I want to design generic crypto currency miner starting from scratch . By generic I mean it can be configured to support a large number of available crypto currencies.

This generic miner must be able to connect to mining pools for the coins it supports in addition to being able to mine solo. In the case that it is configured to connect to mining pool , it does not need to store the blockchain on the PC on which miner is running? In this case the blockchain is stored on the server running mining pool? In this case the miner PC only has the current block?

The answers to above questions do not depend on wether the miner is configured to use CPU or GPU or both?
A mining pool does need to store the entire blockchain, however that doesn't mean that every participant of the mining pool needs to store it.  Someone in the pool needs it, but not everyone.

Individuals in a pool can just be sent block headers and perform the proof-of-work without ever verifying the transactions themselves.  This does not require the full blockchain.  However, someone should have already verified the transactions ahead of time, and this node does need the blockchain.