No, 0344 numbers are not free to call from any mobile network operator including O2. However as these calls are charged at local rates you will be able to use any inclusive minutes on your tariff to make the call instead of paying a monetary fee.
Cost of calling 0344 numbers on O2
If you do not have inclusive minutes remaining on your O2 balance you will have to pay the rates stipulated by Ofcom to call an 0344 number. This means you will pay O2 an access charge of 30p if you are a Pay and Go customer or 35p if you pay a monthly contract fee. You will then be charged a per-minute rate (30p for Pay and Go, 35p for Pay Monthly customers).
Why do companies use 0344 numbers
Since Ofcom changed their legislation in July 2015 it is no longer legal for companies to use higher rate 0844 numbers for post-sales enquiries. Therefore many companies decided to switch to local-rate 0344 numbers as these comply with the law and closely mimic their previous 0844 numbers, thus making it easier for their existing customers to remember their new helplines.