Thats sure possible but you will lose precision. "max" will work on a vector, not a function. So you first would create a vector consisting of Omega values - the more, the slower. Then evaluate P() using that vector as argument (you may have to vectorize to be on the safe side) and let max chose the maximum of the resulting vector.
But calculation of P() takes a lot of time and if if you use too few values for Omega, you may end up with a very inaccurate result.