No, you do not have to be a citizen to play cricket for a country. There are many professional cricket players who are not citizens of the countries they represent. For example, Jofra Archer is originally from Barbados but he plays cricket for England.