if the cap is 21 million bitcoin does this mean that there will be only 21 million transaction? so as the tittle says , and if I got right , a bitcoin is given to the first miner who got the right hash , so with 21 million cap does this mean the limit of transactions is also 21 million transaction ?
No, this is not correct.


It is possible to spend tiny fractions of a bitcoin.
Coins can be passed on from person to person (just like any other kind of money).  So the same coins can be involved in many different transactions.


Incidentally, the reward for a valid block hash is currently 25 bitcoins, not 1, though this will decrease over time.  Even after this decreases to 0 (when the total number of bitcoins in circulation is 21 million), it will still be possible to have new transactions as people give each other bitcoins in exchange for goods and services.

There is no practical limit on the number of transactions.