Whoops, a lot of people already answered before my post showed. Hope it's helpful anyho.
Yes, both sexes have genes for the egg color. A rooster can have genes for brown, blue, and/or white eggshells.
The gene for blue/green eggs are due to the same gene over lighter or darker eggs basically. The gene for it is called O.
There are many genes for tan and brown eggs, so in those it is possible to "collect" them into the stock to make hens that lay the desired tan/brown shade. This is what happens in Marans for example- several genes are necessary to make the eggs dark plus shiny.
The O gene does not have a dose effect. Which means birds with one or two copies of this eggs lay exactly the same shade of color (and assuming all the other eggshell genes are identical in both birds). So no you can't make the blue "bluer" or greens "greener" with this gene. Especially for the blue shade, pretty much the only way for good blues is to find someone who already worked on breeding for this trait or breed and cull heavily for it. This also means if you want blue eggs, you also have to be careful about buying/using roosters, making sure they were from blue egg laying stock but even so, this is not foolproof.. a great many blue eggers still throw some turquoise or light green egg layers. Not bad, just something to watch and cull for if desired.
Green eggs is easier as it is simply the O gene over a tinted egg. Want lighter green? Breed in lightly tinted layers. Want much darker green eggs? Use brown or even the dark brown egg breeds such as Marans.
So the essence is.. the O gene is a single and simple paint color you can use over a wide range of background color.