MVC в IOS: может ли Model иметь Delegate к контролеру?
Может, можете написать все что душе угодно. Только на картинке что вы запостили, там написано в Model - KVO & Notification, и лучше использовать их при обновлении данных в модели, т.к. обычно об обновлении данных нужно узнать нескольким Controller, сделать это проще через notification, а Key-Value Observing нужно когда один контроллер следит за какой-то переменной.
Любому объекту вы можете присваивать в делегат любой другой объект, это не нарушает ни какие другие паттерны и т.п.//файл A.h

@protocol ADelegate <NSObject>

- (void)aDelegateMethod;

@end

@interface A : NSObject

@property (nonatomic, weak) id<ADelegate> delegate;
/*
Описывая делегат таким образом мы скрываем объект за протоколом ADelegate.
В вашем случае модель не будет знать что у неё делегат это контроллер, модель будет
думать что там есть некий объект который отвечает на ADelegate протокол и кто там конкретно не важно
*/

@end//файл B.h

#import "A.h"

@interface B : NSObject <ADelegate>

@end//файл B.m

@implementation B

- (void)foo
{
    A *a = [A new];
    a.delegate = self;
}

#pragma mark - ADelegate Protocol
- (void)aDelegateMethod
{
}

@end