In a normal correctly functioning market, the bid should always be below the ask.
However there are some exceptions to the rule:
If the bid equals the ask (e.g. the same security is traded on multiple exchanges and one exchange has a bid which is the same price as the ask on another exchange) then that is called a "locked" market.
If the bid is more than the ask (e.g. the same security is traded on multiple exchanges and one exchange has a bid which is higher than the price of the ask on another exchange) then that is called a "crossed" market; and
Sometimes other occasions where you might see a locked or crossed market when really it isn't so, such as if there is a bid which has a flag on it such as 'All or None' which means that it will not be filled until there is sufficient opposing interest to fill the order in its entirety. The fault is in fact the market data source displaying the all-or-none order as a regular order, when really it is a contingent order.
The exchanges and their market participants (particularly market makers) have an obligation to ensure that locked and crossed markets do not occur, and when they do occur, that they remove the quotes that are contributing to locked or crossed markets.
Locked or crossing quotes can occur from time to time as a result of race conditions (e.g. two participants decide to post orders that would lock each other
at the same time, without knowledge of the other order).
Less regulated markets (e.g. OTC markets) may not have such rules in place to reduce locking and crossed markets, so in turn you may more often see locked or crossed markets.