Can a algorithm be patented ? What about ASICs ? Can Bitmain patent a particular ASIC so that others can't manufacturer an asic for a particular algo without licence from patent holder ?
Yes and no.
Anyone can create an ASIC. Most ASIC manufacturers use chips and components from other vendors. The only way Bitmain could patent their ASICs and benefit from it is if they developed the chip themselves and didn't license it to anyone else. If this chip warranted a patent then it the answer is yes. This scenario only works though if only their ASIC could run a particular algorithm.
However, if they buy the chips from someone else they still may be able to patent their ASIC, but that would not prevent other companies from buying the same chip and making their own.
It would not be in anyone best interests to let a single entity control an algorithm and the hardware that hashes it. I think you would find that no one would buy it.