Yes, and no... I have to first say that I don't know that much about session fixation attacks, but from what I have read it is possible with any means of session keeping that uses session id's passed to and from the user/server, regardless of type, be it cookies, php sessions, or custom sessions. But cookies when used alone don't use id's of any sort, because the server doesn't have to keep track of the cookies owner. they are stored and passed by the browser, rather then stored locally on the server, and not tracked via an id number. But if the cookie is used to store a session id, then it is possible as long as the hacker has means of injecting the users cookie, or physical access to his computer to edit the cookie manually.
But with that said, I think I might explain session fixation some. First of all, the means of storing sessions, or rather session IDs are used, is not where the threat of session fixation comes. session fixation is only a threat if the application does not properly destroy sessions when a user logs off. Let me explain:
Say I (the hacker) log into a web application and is given the session ID of 12345678910. If I pass this session id to you, you will end up using the session that has been assigned to this ID. This is not a risk to you unless the application allowed me to logoff and still kept the session alive. If it did, and you then log into your account, AND you are not assigned a new session, then I (the hacker) will now know the session id to the session with your credentials.
For this scenario to work in real life, the application (or the developer of the app I should say) would have to make two mistakes. first, this is only a risk if the said app does not destroy sessions when a user logs out of the system. Second, the app would also have to not be made to insure new sessions are made each time some one logs on.
In other words, this app would have to first create a session for that hacker, saving his data to it.. then when the hacker logs off, delete his credentials from it but still keep the session alive.. Then when you access it, save your data to it when you log on (instead of a new session), letting the hacker hijack it by using the known session id. These are very obvious mistakes, but I guess it is possible for some one to make them if they wish to keep certain settings active once a user logs out, such as theme settings or other user prefs.
Long story short, this is not the fault of the session, it is the fault of the application. As long as your app destroys sessions at logoff, and insures new sessions are made at logon, this is not a risk. If a hacker sends someone a link with a session ID, the session will either be for his account, a dummy account, or it will be dead. If you are taken to his account or a dummy account, you would have to log off (destroying the passed session) in order to log into your own account.