Two possibilities.
It can be more than just the fare basis code. ITA gives the entire string, and when I deep dived into one recently ITA was pricing a fare with a different breaking point that UA was. Too complex to recreate all the details, but I was going:
aaa-bbb, break,
ccc-ddd, stop over and then
ddd-aaa.
ITA priced it as aaa-ddd and then ddd-aaa so essentially a round trip open jaw/stopover.
UA was pricing it as aaa-bbb, then ccc-ddd and then ddd-aaa. Same fare basis, but different price structure.
I called UA with the entire ITA string and the agent entered it and found the ITA fare at a considerable savings. (Although she did need to send it to the fare desk.) She did comment "wow, you're really prepared." The difference in fare was $12,000 vs. $3,000!!! I believe in this case it was because of a cheap fare specifically for aaa-ddd-aaa RT - probably matching a competitive price. In my experience when you call with a fare you can't find online they don't charge the agent booking fee, WMMV.
Or, ITA is sometimes behind a bit, the lowest fare may simply no longer be available.