They are both correct, but they do not mean the same thing.
Jack would have been there...
If everything would have gone according to plan, Jack would indeed have been there. But something that Jack did not expect happened.
Jack could have been there...
It was (technically) possible for Jack to be there, but he decided to do something else.
The problem is that "he had another place to go" is a bit ambiguous. It can mean he had to go somewhere else, or it could mean he wanted to go somewhere else. You give both meanings by using would and could. (1) means he had to go somewhere else, (2) means that he wanted to go somewhere else.
Note that in practice, the actual difference in meaning is not very clear and many people will not (consciously) pick up on it. If you really want to make it clear that Jack decided not to come, or that he wanted to come, but he could not, you could make the sentences more clear:
Jack would have been there, but his father died and he had to attend the funeral.
Jack could have been there, but he preferred to spend the evening with his new girlfriend.