I'm having this incredibly annoying problem on my Samsung Galaxy S6. The phone will take correctly spelled words, and replace them with another word. I can't think of the exact changes it has made right now. For example, it will do something like replace "about" with "later", something that just doesn't make any sense to me. If the word has a question mark or something after it, that seems to totally mess up spell check too.
Last night I downloaded the google keyboard from the google play store. After switching to the google keyboard that uses google spell checker, so far so good. It also has a personal dictionary you can add words to, which is a nice bonus.