When a limit order is fulfilled, is it always at the specified price? In other words, is it possible that a buy (sell) order will be completed with a lower (higher) price?
A limit order when place, matches at the limit price or better. If there are no better matches, it sits in the books. At this point in time it becomes a true limit order and does not match for better.
Related question How do exchanges match limit orders?