You do not have to be online. I wasn't online since 11.11.11 but I've got 47 achievements.
From this thread it seems rather random if one gets an achievement or not. Maybe reloading a save from before the achievement (ans doing it again) will help.
You can get achievements offline but they are reset when you go back online, at least in my experience. I lost all my shogun achievements and a few skyrim ones when I logged back online.
If you play in OFFLINE mode... you do not get achievements. (They are uploaded as they happen. Thus, any activity offline will lock-out any progress on that save-game. EG, you can't get achievement C because you got achievement B offline, and B is a requirement for C. No further progression will be recorded for that game. You have to start a new one, or re-load from the point where it stopped recording.)
If you ever used a console-command that counts as "Cheating", and disables all future achievement logging.
This is just plain false. I started playing skyrim offline and lost the achievements when I went online but I could still get others just fine from continuing from where I was. I have all the main quest ones but not bleak falls because I did that offline.
Also console
does not disable achievements. I unlocked the golden touch achievement by using the console with "player.additem f 100000" and still unlocked other achievements.