At the moment the OpenCL SDK does not support ICD. I don't remember what ICD stands for but that's what allows SDKs from multiple vendors to coexist on a single host which is why you are running into the behavior you are seeing. Since OpenCL is a standard what ICD does is ensure that when linking occurs you don't end up with multiple libraries (in this case Altera and Nvidia) providing the same APIs (just like how you can't have an application with two functions like main, or foo for example).
I have not attempted to try either of these but two ways I can think of to work around this:
1) Split the application into two and pass data between them when necessary. That would allow you to target the SDKs independently
2) Compile the Altera specific portion into a static library that your host application can use so that it uses different libraries than the other SDK.
If you attempt to do this I recommend creating a very simple test case such as "Hello world" and seeing if you can utilize both SDKs concurrently. If you are sucessful please post your findings since there are a few users that would be interested (including myself).