Do all block have to be verified every time a new block is broadcasted? I did a presentation for my office and during the presentation I was asked a question that I was not prepared for. It's a more technical question from my perspective, but someone here might already know the answer. 

We know that every 10 min a block is created. And a new block has information of the previous block along with its findings and submitted to the net to be verified. 

My question is when a pool or an individual miner is doing the verification, do they verify all the transactions starting from Genesis block till the most recent one?

And this goes on after each block is verified. Meaning every new block that needs verification needs to be verified along with all the previous transactions starting from the Genesis block?
TL;DR: Each block only needs to be verified once. Upon receiving a new block, only the reference to the parent and the validity of the new block need to be checked.

When one gets started with Bitcoin, the client or mining software will download and verify the blockchain. During this synchronization, each block starting from the genesis block will be verified by the client. This is only necessary once for each block, because new blocks always reference the hash of the preceeding block. 

I.e. when you are trying to verify Block 5, it will contain the hash of it's parent, Block 4. As your client has already verified that Block 4 is valid, and if the hash featured in the new Block 5 matches the known hash of Block 4, it can go straight ahead and only check whether the new Block 5 is valid.