I kept running into this problem - I'd save a game, then later go back to check, and it was GONE.
I think I found the cause. It happened to me specifically when I would pause the game, save; then, still paused, do stuff (manage inventory, level up, etc), and save again under a different savegame name. But when I did this, it would NUKE the previous savegame!
I suspect the reason is in colliding savegame filenames. They seem to be a hash of the main player's name (or something like that), then a timestamp, then the map location. The filenames do not actually include the text you type into the UI when saving; those are inside the file. So if you save two games that are very close together in time, and on the same map, *they will collide* and try to use the same filename. So the second one you save will overwrite the first, and the first will just disappear.
I did a quick test and if I unpause for just a few seconds and move a meter or so, then save again, the collision does not happen.
So - after each save, if you just unpause for a few seconds before saving again (and/or move a few feet), you should be OK.
Obsidian could easily fix this issue by adding a short hash of the savegame name (that you type into the UI) to the savegame filename.