The correct option is
B could have gone
Option B: 'Could' expresses possibility. 'Could' is the past tense of 'can' and refers to the past event, i.e., 'yesterday'.
This option is relevant to the given sentence: B presents to A the possibility of having gone to the cinema the day before.
Hence option B is correct.
Option A: 'Can have gone' is grammatically incorrect. 'Can' presents a possibility in the present or future tense, and 'have gone' refers to an action that began in the past. Hence both verbs do not complement one another.
Option C: 'Will' is a future tense verb. It presents an action that has not yet happened. A's sentence states an action in the past.
Option D: 'Must have gone' means 'we believe the action must have definitely happened'.
As it's already been mentioned that the action 'to go to the cinema' didn't happen:
'had a boring evening at home',
the option contradicts sentence A.
Hence options A, C and D are incorrect.